import { ConfigProviderThemeVars } from "@taroify/core";
import React from "react";

export interface listType<T> {
  rows: Array<T>;
  total?: number | string;
}

export interface PagerType {
  page: number | string;
  limit?: number | string;
  time?: string;
}

export type ThemeType = "light" | "dark" | "purple" | "tiktok" | "other";
export interface THEME extends ConfigProviderThemeVars {
  baseColor: string;
  backgroundColor: string;
  titleColor: string;
  rateIconFullColor?: string;
  sliderTrackHeight?: string;
  sliderButtonWidth?: string;
  sliderButtonHeight?: string;
  sliderActiveBackgroundColor?: string;
  buttonPrimaryBorderColor?: string;
  buttonPrimaryBackgroundColor?: string;
  [key: string]: any;
}

export interface UserInfoType {
  avatar: string;
  follow: number | string;
  articleNum: number | string;
  userName: string;
}
export interface ArticleType {
  id: number;
  title: string;
  content: string;
  createdAt: string;
  comments: number;
  likes: number | string;
  isLiked: boolean;
}

export interface ArticleCardType {
  user: UserInfoType;
  article: ArticleType;
}

export interface UserType {
  ID: string;
  avatar: string; // 对应 UserBasic.Avatar
  background: string; // 对应 UserBasic.Background
  client_ip: string; // 对应 UserBasic.ClientIP
  client_port: string; // 对应 UserBasic.ClientPort
  email: string; // 对应 UserBasic.Email
  phone: string; // 对应 UserBasic.Phone
  password: string; // 对应 UserBasic.PassWord
  nickname: string; // 对应 UserBasic.NickName
  type: number; // 对应 UserBasic.Type (1, 2, 3)
  login_time?: string; // 对应 UserBasic.LoginTime, 可选
  logout_time?: string; // 对应 UserBasic.LogoutTime, 可选
  device_info?: string; // 对应 UserBasic.DeviceInfo, 可选
  intro?: string; //
}

export interface ListPropsType {
  label: string;
  value: string | React.ReactNode;
  right?: React.ReactNode;
  flag?: boolean;
  setValue?: (v: string) => void;
  rightHandler?: () => void;
  arrow?: boolean;
}

export interface StrategyType {
  id: string; // 唯一ID
  starttime: string; // 开始时间
  league: string; // 联赛
  event: string; // 比赛
  eventId: string; // 比赛ID
  dealer: string; // 公司
  lay: string; // 卖出
  betType: string; // 玩法
  handicap: string; // 盘口
  oddHome: string; // 主赔率
  oddDraw: string; // 平赔率
  oddAway: string; // 客赔率
  currency: string; // 货币
  maxAmount: string; // 最大投注
  minAmount: string; // 最小投注
  other: string; // 其他
  timestamp: string; // 更新时间
}

export interface RecuType {
  index: string; // 唯一ID
  eventId: string; // 比赛ID
  strategyId: string; // 策略ID
  EV: string; // EV
  profit: string; // 利润
  strategyRecuStatus: string; // 策略回收状态
  betRecuStatus: string; // 下注回收状态
}
